<?php

/**
 * Description of Universidad
 *
 * @author surforce.com
 */
/*
 * Prestar atención a la correspondencia entre
 * el diagrama y el require_once a la clase. La flecha
 * se traduce en un require_once hacia la clase:
 *
 * Universidad -> Alumno
 */
require_once 'Alumno.php';

class Universidad
{

    /**
     * Nombre de la Universidad
     *
     * @var string
     */
    private $_nombre;

    /**
     *  Colección / Conjunto de Alumnos
     *
     * @var array
     */
    private $_colAlumnos = array();

    /**
     *
     * @param string $nombre
     */
    public function __construct($nombre)
    {
        $this->_nombre = $nombre;
    }

    /**
     * Método para agregar los alumnos a la
     * colección que contendrá la Universidad
     *
     * @param Alumno $alumno
     */
    public function addAlumno(Alumno $alumno)
    {
        $this->_colAlumnos[] = $alumno;
    }

    /**
     * Traer todos los alumnos de la universidad
     */
    public function getAlumnos()
    {
        return $this->_colAlumnos;
    }

    public function buscarAlumnoPorNombre($nombre)
    {
        foreach ($this->_colAlumnos as $alumno) {

            if ($alumno->getNombre() == $nombre) {
                return $alumno;
            }
        }
        return false;
    }

    /**
     * Se especifica que la mínima expresión que define
     * la descripción de la universidad
     *
     * @return string
     */
    public function __toString()
    {
        return $this->_nombre;
    }

}